1. Field of the Invention
This invention relates to the field of sending and receiving data packets on a computer network.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
2. Background Art
Computers are often used to process, play back, and display video data, audio data and other data. This data may come from sources such as storage devices, on-line services, VCRs, cable systems, broadcast television tuners, etc. Video and audio data is memory intensive, that is, such data requires large amounts of memory for storage and use by a computer system. In addition, the transmission time of such large volume data from a remote source to a client computer can be expensive and be a limiting factor in the ability to provide such data at all.
To reduce the transmission bandwidth and memory requirements when working with data, various compression schemes have been developed so that less storage space is needed to store information and a smaller bandwidth is needed to transmit it. Prior art video compression schemes include Motion JPEG, MPEG-1, MPEG-2, Indeo, Quicktime, True Motion-S, CinePak, and others. Similarly, there are a number of compression schemes for audio data.
The use of compression schemes for transmitting video and audio is particularly important in the context of computer networks, such as the Internet and World Wide Web. Providers wish to provide multi-media content that includes video and audio to users and transmit such content over the Internet. Transmission times become too long if the data is not compressed. In addition, it is not possible to provide real time streaming of video and audio data without a compression scheme.
RTP is a Real Time Transport protocol used to transmit audio and video on a network such as the Internet. Typically, audio or video data is compressed using a specific compression technique and the compressed data stream is broken down into smaller packets for transmission over the wire. This process is referred to as “packetization” and the reverse process, i.e. assembling network packets into a continuous byte stream is called “depacketization”. An RTP session handler is a mechanism that controls the receipt and depacketization of packetized data at a client computer. In the prior art, the depacketization scheme is part of the RTP session handler's code. This is a disadvantage because it requires that the RTP session handler have foreknowledge of all possible packetization schemes. This makes it difficult to add new packetization schemes without requiring that a new RTP session handler be created. It would be advantageous if the depacketization could exist as a separate module.